Try to detect the truth of unknown_alt.
authoroliskoli <oliskoli>
Thu, 28 Jun 2007 22:27:43 +0000 (22:27 +0000)
committeroliskoli <oliskoli>
Thu, 28 Jun 2007 22:27:43 +0000 (22:27 +0000)
csv_util.c
delgpl.c
mapsend.c

index ab559378e3f70d5f2b97c4e6e3f441d69658c94f..47b906f6a01f358f0e611b8f02b28ee39c42e7e2 100644 (file)
@@ -895,10 +895,14 @@ xcsv_parse_val(const char *s, waypoint *wpt, const field_map_t *fmp)
     if (strcmp(fmp->key, "ALT_FEET") == 0) {
        /* altitude in feet as a decimal value */
        wpt->altitude = FEET_TO_METERS(atof(s));
+       if (wpt->altitude < unknown_alt + 1)
+          wpt->altitude = unknown_alt;
     } else
     if (strcmp(fmp->key, "ALT_METERS") == 0) {
        /* altitude in meters as a decimal value */
        wpt->altitude = atof(s);
+       if (wpt->altitude < unknown_alt + 1)
+          wpt->altitude = unknown_alt;
     } else
     
     /* PATH CONVERSIONS ************************************************/
index dc4e3d65a010e2a48916aa2c1b237fe95b102090..6f6e1fc2bd65e0f4bb0a88b5d7f77c3ab6b92587 100644 (file)
--- a/delgpl.c
+++ b/delgpl.c
@@ -68,6 +68,8 @@ gpl_read(void)
                wpt_tmp->longitude = le_read_double(&gp.lon);
                alt_feet = le_read_double(&gp.alt);
                wpt_tmp->altitude = FEET_TO_METERS(alt_feet);
+               if (wpt_tmp->altitude <= unknown_alt + 1)
+                       wpt_tmp->altitude = unknown_alt;
                wpt_tmp->creation_time = le_read32(&gp.tm);
                
                WAYPT_SET(wpt_tmp, course, le_read_double(&gp.heading));
index c04c9ab50a2a26fee08b42763e30fb340041905e..b7910bf561117387b4b8d57a4bb0eae37679546a 100644 (file)
--- a/mapsend.c
+++ b/mapsend.c
@@ -205,6 +205,8 @@ mapsend_track_read(void)
                } else {
                        wpt_tmp->altitude = gbfgetflt(mapsend_file_in);
                }
+               if (wpt_tmp->altitude < unknown_alt + 1)
+                       wpt_tmp->altitude = unknown_alt;
                wpt_tmp->creation_time = gbfgetint32(mapsend_file_in);
                valid = gbfgetint32(mapsend_file_in);